package com.tao.common

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.viewbinding.ViewBinding

abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {

    protected abstract val binding: VB

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)
        initView()
        initObservable()
        initData()
    }


    /**
     * 初始化视图
     */
    protected open fun initView() {}

    /**
     * 初始化数据
     * 发送请求
     */
    protected open fun initData() {}

    /**
     * 初始化Observable
     */
    protected open fun initObservable() {}
}